最近想分析一下iis的日志,由于日志文件800M等大文件,所以怎样使用PHP快速读取成了问题!首先排除了file,因为加载太慢,内存溢出!
后来考虑用指针fgets,但是读取还是有点慢,如果只读取1000条以内的数据还是可以接受的
最后试用了PHP的stream_get_line函数 ,读取快速,读取50万条数据大文件,大概需要20秒左右的时间!例子代码如下
1 | $fp = fopen('./iis.log', 'r'); //文件 |
最近想分析一下iis的日志,由于日志文件800M等大文件,所以怎样使用PHP快速读取成了问题!首先排除了file,因为加载太慢,内存溢出!
后来考虑用指针fgets,但是读取还是有点慢,如果只读取1000条以内的数据还是可以接受的
最后试用了PHP的stream_get_line函数 ,读取快速,读取50万条数据大文件,大概需要20秒左右的时间!例子代码如下
1 | $fp = fopen('./iis.log', 'r'); //文件 |